/*!
 * ThreeTimesError - Error handling made easy. What, where and how? You decide.
 * Version: 20120409_1517
 * http://code.google.com/p/threetimeserror/
 *
 * Copyright 2012 by Stefan Matsson
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 */ 
;(function(tte) {
  /*jshint noarg:true, noempty:true, eqeqeq:true, loopfunc:true, bitwise:true, strict:true, undef:true, curly:true, browser:true, maxerr:50, validthis:true, devel:true */
	"use strict";
	var has = Object.prototype.hasOwnProperty;

	// Console reporter
	function consoleReporter(options) {
		this.options = options;
	}
	consoleReporter.prototype.run = function(obj) {	
		var x = [], i;
		// Some browser does not support console (e.g. IE6)
		if(typeof console === "undefined") { return; }
		for(i in obj) {
			if(!has.call(obj, i)) { continue; }
			x.push(i + " = " + obj[i]); 
		}
		
		console.log(x.join("\n"));
	};
	
	tte.reporters.console = consoleReporter;

}(window.TTE));